-
Notifications
You must be signed in to change notification settings - Fork 13
Use FAC data files for CR modeling #20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
cjperks7
wants to merge
46
commits into
master
Choose a base branch
from
read_FAC
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…nch of general purpose functions into a utilities script
…totic limit for excit and ioniz
…ss-section for excit, ioniz
…oionization rates
…ction high-energy formula
…s to model beams such as EBIT plasmas
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
0) What's New
Function under
colradpy.convolve_EEDF.pyto convolute given cross-section data (units [cm2]) with an electron energy distribution function (EEDF, units [1/eV]) to generate rate coefficients (units [cm3/s]). More details in the following sections:Function under
colradpy.read_FAC.pyandcolradpy.read_FAC_utils.pyto load data files for energy levels, transition probabilities, cross-sections, and rate coefficients produced by the Flexible Atomic Code (FAC) and prepare them for collisional-radiative modeling by the ColRadPy main class. More details in the following sections:Note that FAC provides data for the following processes, all of which ColRadPy loads:
- Energy levels
- Spontaneous emission decay rates (up to all multipole orders)
- 2-photon decay rates for H-like and 1S0 state of He-like
- Collisional excitation cross-sections
- Radiative recombination (and photoionization, unused here) cross-section
- Dielectronic recombination strengths (units [cm2*eV]) as well as autoionization rates for doubly excited states
- Collisional ionization cross-sections
- Also know that the function
pfac.fac.MawellRate()can convolve these cross-sections into rate coefficients and print to an ASCII file, but I was having trouble with non-physical results so preferred my own convolution within ColRadPy. Would see the rate go back up at high-Te so seems like a problem with numerical tricks employedFAC data files are assumed to have a common prefix and regular suffix tied to the process, i.e.
Ar01a.enhas common prefixAr01and suffixa.endenoting it's an ASCII-format energy level filea.enis the ASCII-format energy level filea.tris the ASCII-format spontaneous emission rate filea.ce,a.rr,a.ai, anda.ciare the expected suffixes for ASCII-format excitation, radiative recombination, autoionization/dielectronic recombination, and collisional ionization cross-section filesNote that I've also given the option to use Maxwell-average data files from
pfac.fac.MaxwellRatece.mr,rr.mr, andci.mrNote that I have also made some changes to
colradpy.write_pecs_adf15()that I haven't committed to this branch1) Cross-sections and their extrapolation
Within the cross-section data files produced by FAC, included are formulas for the asymptotic behavior of the cross-sections for collisional excitation, radiative recombination/photoionization, and collisional ionization
- Note that the default simulation grid in FAC is from the transition energy to about 30x larger
- From playing around with extending and refining that grid, I think it can be assumed you get non-physical results outside the default energy grid. Or am I wrong?
- The below examples in this section will present cross-section from this refinement exercise, but note that cross-section data used in other sections are run with FAC in it's default grid
Excitation for H-like Ar
Radiative recombination for H-like Ar
Ionization for H-like Ar
2) EEDF Convolution
This function is a pretty simple integration given cross-section data
Plotted is a validation exercise of this function
Notice that I have found it important to include relativistic effects (denoted "rel") when doing this integration
Right now, only Maxwellian distributions are supported. I have intentions for doing some non-Maxwellian CR modeling on WEST, so in another Issue I'll address adding maybe a data file. TBD.
Note that this function also convolves dielectronic recombination strengths assuming the energy-dependence is just a delta function
3) Minimum working example of using FAC data
# New material/path/to/data/Ar01atomic_data_typedefault isadf04for back-compatibilityele,nele, andZelewere found to be needed when constructingcrm.data['atomic']to sort out ionization stages stored in the energy level data file as well as some expected documentation from the ADF04 formatEEDFis a flag for what can of electron energy distribution function is usedEEDF = 'Maxwellian_mr'you're signalling that you've used thepfac.fac.MaxwellRatefunction so the code searches for files with the appropriate suffix, i.e.ce.mrEEDF = Maxwellianyou're signalling that you want ColRadPy to Maxwell-average cross-section data so the code searches for files with the appropriate suffix, i.e.a.ceatomic_physicsis a flag or list of the atomic physics data files to useincl_all, needs to be a list that a subset of['en', 'tr', 'ce', 'rr', 'ai', 'ci']suppliment_with_ecipdoes't work with FAC data right now since I set allzplaandzpla1= -1 for lack of something better to do4) Various sequence modeling validation (H-, He-, Ne-like + satellites)
H-like Ar

- I have been given high-quality PEC data files for Argon made by Adam Foster (Harvard) for Francesco Sciortino's (MIT) thesis work. From what Adam told me, he created the excitation data using FAC. Recombination and ionization were made by some guy named Nigel and he doesn't know what he did. So, to benchmark my work I should be able to reproduce his data. In the following legends, his data is marked as "AF".
- Note that during this exercise, I used Gaussian, Voigt, and 2-photon emission profiles using the Aurora code as detailed in the following PR: Issue085 line shapes fsciortino/Aurora#88
-
-
- Per [Mewe 1972], we expect the 1s-2p PEC's to have 6% correction to the excitation rate from ground as we do find (all that work to basically get coronal equilibrium...)
- Good agreement is found. At high-Te for the excitation rates, the discrepancy is due to including relativistic effects in the integration. At high-Te for the recombination rates, the discrepancy is because I didn't implement a high-energy extrapolation to the cross-section but the rate is relatively low enough this seems like an acceptable issue. I think the discrepancy in magnitude can be chalked up to numerics since which is greater swaps around with Te
- Lines have been corrected to experimental wavelengths
- Note no ionization PECs. To be addressed in Issue Ionization PECs? #17
- Note He-like satellites were not included in the above plot
- Note that I don't think I get the doublet ratio exactly right as per "J.E. Rice et al, J. Phys. B: AMO, 48 (2015)". I think this is more so a problem with FAC underestimating for the 2S_1/2 -> 2P_1/2 collisional transitions and such. The results above are close enough so a different battle for another day.
He-like Ar
- The shape of my curve is in good agreement with that published in Figure 2 of "J.E. Rice et al, J. Phys. B: AMO, 48 (2015)" which was also calculated using FAC but also with the wavelengths experimentally adjusted which was about 1mA consist with my results.
- The references within explain calculations of line factors for the satellites that I haven't compared against but should some day.
- Recall Adam's recombination PECs were not calculated using FAC but some other source which could explain the observed discrepancy. I have checked that I've modeled all the same singly and doubly excited states (more actually) as Adam's, so it might not be because a process is missing
- Anyway, the satellites illustrate that excitation-autoionization and dielectronic recombination is included and working
Note that per how ColRadPy is written, I found it more convenient to add together the rates from radiative and dielectronic recombination due the preparation step so when I write "recomb" it includes both processes